package util

import (
	"errors"
	"strings"
)

// 给参数加上双引号
// 如果内部有引号，则进行转义
func AddDoubleQuote(s string) (string, error) {
	s = strings.Replace(s, "\"", "\\\"", -1)
	return "\"" + s + "\"", nil
}


// 根据输入的[]string得到对应的neo4j的模糊查询（不区分大小写）
// 输入 [world war] 返回 ~"(?i).*world.*|.*war.*"
func GetNeo4jRegSearchString(names []string) string {
	reg := "(?i)"
	for index, name := range names {
		reg += ".*" + name +".*"
		if index < len(names)-1 {
			reg += "|"
		}
	}
	reg, _ = AddDoubleQuote(reg)
	return "~" + reg
}


func CheckInputText(text string, maxCharacterNumber int) error {
	text = strings.TrimSpace(text)
	if len(text) == 0 {
		return errors.New("输入不能为空！")
	}
	if len(text) > maxCharacterNumber {
		return errors.New("输入字符超出了上限！")
	}
	return nil
}